"Wenn irgendwas komplizierter ist als ein Toastbrot, wird es nicht benutzt."

Keep it simple, keep it fast: Das neue IP Version 6

Referent:
Tim Pritlove
, CCC

Wir schreiben das Jahr 1997. Das Routing im Internet basiert auf IP Version 4, die eigentlich Version 1 ist. Jeder Rechner (genauer: jede Schnittstelle) benötigt eine eindeutige Adresse. Diese Adressen werden aus 4 Bytes (=32 bit) zusammengesetzt. Es besteht ein ganze Reihe von Problemen: Die maximal verfügbaren Adressen reichen demnächst nicht mehr aus, wenn Taschenrechner, Toaster und Fernseher (sowieso) meinen, über IP miteinander verkehren zu müssen.

Darüber hinaus zwickt und zwackt es an noch mehr Stellen, und das im Gegensatz zum zu kleinen Adressraum schon jetzt ganz konkret: Die 32 Bit-Adressierung reicht in großen Netzen nicht mehr, die erforderlichen Subnetze zu verwalten. Mit der IP V.4 Adressierung verknüpft ist die Existenz unzähliger verschiedener Routerprotokolle. Daher rührt auch die Nichtbenutzung vieler Features, die IP V.4 durchaus anbietet. Ein Router, der das machen würde, wäre sehr langsam und nicht kompatibel zu den anderen. Das an sich ist schon ein Problem, schlimmer ist aber noch, daß praktisch jeder Router auf der Welt Routingtabellen verwalten muß, die seit langer Zeit exponentiell wachsen und inzwischen kaum mehr zu verarbeiten sind. Etwas Neues muß her, und das heißt dann IP V.6. Viele Gruppen haben an etwas Neuem herumgebastelt, IP V.6 stammt aus der Feder der IP Next Generation Gruppe. Und das ist wohl etwas ganz Tolles.

Der neuer Aufbau der IP-Pakete an sich
Der grundsätzliche Aufbau eines IP Paketes ist:

HeaderPayload

Payload ist sind die eigentlichen Daten, die transportiert werden sollen. Die Länge des Headers kann bei V.4 varieren, was das Handling natürlich erschwert.

In IP V.6 ist ein Header konstant lang, und im Vergleich zu V.4 einfach aufgebaut. 90 Prozent aller Pakete werden mit einem einfachen Header auskommen.
Für besondere Anwendungen gibt es Extension Headers, die dem Basisheader (im Sinne einer verketteten Liste folgen).

BasisheaderExtensionsheaderExtensionsheaderPayload

Extensionheader sind z.B:

Neue Adressen
Wie gesagt, jetzt hat eine Adresse 32 Bit. Bei V.6 werden es 128. Das ist doppelt so viel, wie - mathematisch betrachtet - nötig wäre. Aber wir sind ja lernfähig und planen gleich etwas mehr ein. (Wobei die Adressverlängerung den Adressraum hier exponentiell erweitert und 'etwas mehr' stark untertrieben ist.)

Die Adressen sagen dann etwas über den Standort des Empfängers aus; früher war es halt einfach irgendeine Nummer, deren Zuordnung zu realen Maschinen über ausufernde Tabellen lief. Die Adresse enthält dann 5 Informationen:

RegistryProviderSubscriberSubnetInterface

Die Notation der Adressen ist hexadezimal mit Doppelpunkten als 2 Byte Trennung. Es treten immer an einer Stelle in der Adresse eine größere Anzahl Nullen auf, die durch zwei aufeinanderfolgende Doppelpunkte repräsentiert und abgekürzt werden. Zum Beispiel:
FEDC:B198::7654:3210

Es fällt ins Auge, daß die letzten 32 Bit für die Abwärtskompabilität zu V.4 bestimmt sind. Die Adressen sind großräumig für bestimmte Aufgaben verteilt. Je 1/8 aller verfügbaren Adressen verteilen sich auf:

  1. Geographic Basis Unicast
    Wir brauchen es zwar noch nicht, aber wer weiß - für jeden Quadratmeter der Oberfläche des Planeten Terra sind schon mal ein paar IP-Adressen reserviert.
  2. Alte V.4 Adressen
    Sie fangen mit 96 Nullen an und haben dann die alte Form:
    ::1234:3210

Je 1/256 verteilen sich auf:

  1. Provider based Unicast Adresses
  2. Link-Local Adresses: Weltweit festgelegte einmalige Adressen zur automatischen Konfiguration von Ethernetadressen bestimmt. Die den Rechnern vom Lokalen Router zugewiesene Adresse setzt sich zusammen aus eben dieser Link-Local Adress und der weltweit einmaligen und hardwaremäßig eingebauten Identifikationsnummer der Netzwerkkarten.
  3. Site-Local Adresses: Entsprechen den 10er und 23er Netzen für abgeschlossene Intranetz. Die Adressen sind so ausgelegt, daß sie einfach auf Provider Adressen umgestellt werden können.
  4. Multicast Adresses: Siehe unten bei Multicast. Für Router, Timeserver und Co.

Neues Routing

Sourcerouting
Das gibt es im Prinzip auch schon bei V.4, ist aber aufgrund der vielen zusammengestrickten Routingprotokolle nicht durchführbar. Es gibt hier die Möglichkeit festzulegen, welchen Weg ein IP-Paket nehmen soll, und den Weg dadurch z.B. auf einen bestimmten Provider festzulegen.

Unicast
Das bisher auch übliche Routing. Es wird ein Empfänger angegeben und nur der nimmt auch das Paket in Empfang

Multicast
Mehrere Empfänger sind möglich, z.B. bestimmte Dienstanbieter in definierten Netzabschnitten. Diese Möglichkeit bietet bahnbrechende neue Möglichkeiten, im Netz zu agieren. Z.B das automatische Konfiguieren von Netzanbindungen. Man nehme einen Computer, stecke ihn an das Ethernet der Zahnarztpraxis. Der Computer schickt ein einziges IP-Paket ins Netz, mit dem Empfänger 'Irgendein Router auf meiner Leitung' und der Payload 'Arrg, wer bin ich, gib mir eine Adresse, gib meinem Leben ein Sinn.' Nun sind alle Router im LAN verpflichtet, sich des hilflosen Newbies anzunehmen und ihm zu sagen, wer er sein soll. Das Einstellen von TCP/IP Adressen, DHCP und andere Workarounds haben sich erledigt. Und es geht weiter. Man nehme einen Laptop, verlasse seinen Heimatarbeitsplatz Arbeitsplatz in Klein-Ellershausen in Nordrhein-Westfalen und begebe sich nach Timbuktu. Und jetzt?

Bei V.4 heißt das: An ein Netz in Timbuktu anschließen und sich mit einer neuen IP Nummer und allen damit verbundenen Unannehmlichkeiten abfinden.
In Verbindung mit der neuen 128 bit Adressierung geht das so: Ein IP-Paket ins Netz schicken, Empfänger 'Mein Heimat-Router', Botschaft 'Ähh, an wen soll ich mich denn jetzt wenden, damit ich mein Heimatnetz erreiche? Und übigens: um zu mir zu kommen, guck Dir mal an, welchen Weg das Paket genommen hat'. Aufgrund von Multicast fühlen sich jetzt alle erreichbaren Router angesprochen, ohne daß der Laptop sie kennen muß, und leiten dieses Paket in die Heimat weiter.

Anycast
Gib mir irgendeinen aus einer definierten Gruppe von Empfängern, aber nur einen. Z.B. wenn man einen Router haben will, der Zugang zu einem bestimmten Netzabschnitt hat.

Weitere Features

Encryption
Es existieren definierte Methoden für die Implementierung beliebiger Verschlüsselungsverfahren für die Payload. (Ebenso wie für die Autentifizierung derselben, aber das hatten wir schon oben.) Und sehr wichtig: es wird Methoden geben, Schlüssel auf IP-Ebene auszutauschen. Es ist keine bestimmte Methode ausschließlich festgelegt, aber eine Methode, wie die diese Methode festzulegen ist. Bisher ist die Rede von Photuis, einen Verfahren zum Ausstausch symmetrischer Schlüssel.

Neues Fragmenthandling
Überschreitet die Größe eines IP-Paketes die Fähigkeiten eines Netzabschnittes, so kann es in Fragmente zerlegt werden. Das war bisher die Aufgabe der Router. Nun muß sich der Absender selber darum kümmern. Das ist für die Performance der Router wichtig.

Encapsulation
You'll be assimilated. Resistance is futile. Ade IPX, Appletalk und so weiter. IP V.6 sieht vor, diese Protokolle zu kapseln, so daß alte Applikationen und Betriebsysteme so weiter machen können wie bisher und neue sich nur noch um IP V.6 kümmern müssen.

Realtime Dataflow
Die Massenanwendungen der Zukunft, Telefonie und Video brauchen angemessene Bandbreite. Hierzu können den entsprechenden Paketen variable Prioritäten eingeräumt werden. Beim Multicasting kann die Priorität der Anzahl der Adressen, die auf Empfang gehen, angepaßt werden. Multicastet einer ins Netz und keiner will's haben, bleibt die Priorität niedrig.

Krischan Jodies


zurück